package org.online.servlet;

import org.online.dao.ProductDao;
import org.online.dao.impl.ProductDaoImpl;
import org.online.entity.Product;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

// 第一：导入Tomcat
// 第二：定义一个类，继承HttpServlet
// 第三：重写相关的方法 -- 对用户请求进行处理(调用业务对象[维护、扩展])
// 第四：指定访问url
@WebServlet("/api/ProductAddServlet")
public class ProductAddServlet extends BaseServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1.获取用户提交的数据
        String id = req.getParameter("id");
        String name = req.getParameter("name");
        double price = Double.parseDouble(req.getParameter("price"));
        int count = Integer.parseInt(req.getParameter("count"));
        String desc = req.getParameter("desc");

        // 2.对获取的数据进行合法性验证 (正则表达式)
        Product p = new Product();
        p.setId(id);
        p.setName(name);
        p.setPrice(price);
        p.setCount(count);
        p.setDesc(desc);
        p.setImage("default.png");

        // 3.实现具体业务功能（调用业务对象）  -- 处理对象
        ProductDao productDao = new ProductDaoImpl();
        int r = productDao.insert(p) ;

        // 4.把处理的对象，响应回客户端（浏览器） -- PrintWriter(规范 - 后端开发与前端开发友好的交互)
        if(r==1) {
            print(resp,success(200,"新增商品成功",null)) ;
            return ;
        }
        print(resp,error(500,"新增商品失败",null)) ;
    }
}
